package utils

import (
	"fmt"

	"gopkg.in/ini.v1"
)

var (
	AppMode  string
	HttpPort string
	JwtKey   string

	Db         string
	DbHost     string
	DbPort     string
	DbUser     string
	DbPassWord string
	DbName     string

	AccessKey   string
	SecretKey   string
	Bucket      string
	QiniuServer string
)

// 使用ini加载相关的配置
func init() {
	// 加载配置文件 返回一个File的一个结构体
	file, err := ini.Load("config/config.ini")
	if err != nil {
		fmt.Println("配置文件读取错误， 检查配置文件路径：", err)
	}
	LoadServer(file)
	LoadData(file)
	LoadQiniu(file)
}
func LoadServer(file *ini.File) {
	// Section 分区 Key MustString 默认值
	AppMode = file.Section("server").Key("AppMode").MustString("debug")   // 开发模式
	HttpPort = file.Section("server").Key("HttpPort").MustString(":3000") // port端口
	JwtKey = file.Section("server").Key("JwtKey").MustString("s15611")    // jwt key 加密代码
}

func LoadData(file *ini.File) {
	Db = file.Section("database").Key("Db").MustString("mysql")                // 使用的数据库
	DbHost = file.Section("database").Key("DbHost").MustString("localhost")    // 数据库的地址
	DbPort = file.Section("database").Key("DbPort").MustString("3306")         // 端口号
	DbUser = file.Section("database").Key("DbUser").MustString("root")         // 账号
	DbPassWord = file.Section("database").Key("DbPassWord").MustString("root") // 密码
	DbName = file.Section("database").Key("DbName").MustString("ginblog")      // 数据库名称
}

// 七牛的相关配置
func LoadQiniu(file *ini.File) {
	AccessKey = file.Section("qiniu").Key("AccessKey").String()
	SecretKey = file.Section("qiniu").Key("SecretKey").String()
	Bucket = file.Section("qiniu").Key("Bucket").String()
	QiniuServer = file.Section("qiniu").Key("QiniuServer").String()
}
